<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>await</title>
  </head>
  <body>
    <script>
      let main = async () => {
        //3. async 函数中 await 前面的代码是同步执行的
        console.log('000');
        try {
          //1. 接受 await 返回结果是可选的.
          //2. 如果 await 右侧是一个 pending 状态的 promise, 则后续代码都不会执行
          await new Promise((resolve, reject) => {
            resolve('OK');
          });
          //获取成功的结果值   ->  这里相当于是 then 方法成功的回调
          console.log(111);
        } catch (e) {
          //获取失败的结果值   ->  这里相当于是 then 方法失败的回调
          console.log(222);
        }
      };

      main();

      console.log(333);
    </script>
  </body>
</html>
